library(openxlsx)
library(dplyr)
library(texreg)
library(mfx)
library(sjPlot)
library(tidyverse)
### Dados
### Figura 1
#### Geral
graf_1 <- read.xlsx("bd_geral.xlsx", sheet = "Sheet 2")
summary(graf_1)
graf_1$eleicao <- as.factor(graf_1$Ano)
ggplot(graf_1, aes(x = eleicao, y = total_per, fill = Recurso, fill = Recurso)) +
geom_col()
ggplot(graf_1, aes(x = eleicao, y = total_per, fill = Recurso)) +
scale_fill_manual(values = c("red", "grey", "seagreen3", "blue")) +
geom_col() + geom_text(aes(label = round(total_per, digits = 2)),
position = position_stack(vjust = 0.5), size = 4, color = "black")
ggplot(graf_1, aes(x = eleicao, y = total_per, fill = Recurso)) +
geom_col(position = position_dodge()) +
geom_text(aes(label = total_per), vjust = 2, size = 5, color = "#ffffff")
### Municipal
graf_2 <- read.xlsx("bd_geral.xlsx", sheet = "Sheet 3")
summary(graf_2)
graf_2$eleicao <- as.factor(graf_2$Ano)
ggplot(graf_2, aes(x = eleicao, y = total_per, fill = Recurso, fill = Recurso)) +
geom_col()
ggplot(graf_2, aes(x = eleicao, y = total_per, fill = Recurso)) +
scale_fill_manual(values = c("red", "grey", "seagreen3", "blue")) +
geom_col() + geom_text(aes(label = round(total_per, digits = 2)),
position = position_stack(vjust = 0.5), size = 4, color = "black")
ggplot(graf_2, aes(x = eleicao, y = total_per, fill = Recurso)) +
geom_col(position = position_dodge()) +
geom_text(aes(label = total_per), vjust = 2, size = 5, color = "#ffffff")
##### Dados votação
### Tomada de decisão
vot <- read.csv("Votação_2019.csv", sep = ";", quote = '"', dec = ",")
colnames(vot)
summary(vot)
votacao <- vot %>%
group_by(Partido) %>%
summarise(orientacao = sum(Orientacao_Partido),
media_rp = mean(Recursos_Proprios_Eleitor, na.rm = TRUE),
furaria_teto = sum(Teto, na.rm = TRUE),
contra_limitacao = sum(Contra_Regulacao, na.rm = TRUE),
a_favor_limitacao = sum(A_Favor_Regulacao, na.rm = TRUE)) %>%
ungroup()
View(votacao)
votacao <- vot %>%
group_by(Partido, Orientação) %>%
summarise(
media_rp = mean(Recursos_Proprios_Eleitor, na.rm = TRUE),
furaria_teto = sum(Teto, na.rm = TRUE),
contra_limitacao = sum(Contra_Regulacao, na.rm = TRUE),
a_favor_limitacao = sum(A_Favor_Regulacao, na.rm = TRUE)) %>%
ungroup()
View(votacao)
write.xlsx(votacao, "tabela_1.xlsx")
m0<- glm(A_Favor_Regulacao ~ Recursos_Proprios_Eleitor, data = vot, family = binomial (link = "logit"))
summary(m0)
### Multivariadas
m1 <- glm(A_Favor_Regulacao ~ Orientacao_Sim + Direita + Veterano +
Empresario + Recursos_Proprios_Eleitor + Teto, data = vot, family = binomial (link = "logit"))
summary(m1)
###
library(dotwhisker)
dwplot(m1)
plot_model(m1, type = "eff", terms = "Recursos_Proprios_Eleitor")
plot_model(m1, type = "eff", terms = "Orientacao_Sim")
plot_model(m1, show.values = TRUE, show.intercept = TRUE)
r1 <- logitor(A_Favor_Regulacao ~ Orientacao_Sim + Direita + Veterano +
Empresario + Recursos_Proprios_Eleitor + Teto, data = vot)
r1
####
vot %>%
mutate(prob = ifelse(A_Favor_Regulacao == "1", 1, 0)) %>%
ggplot(aes(Recursos_Proprios_Eleitor, prob)) +
geom_point(alpha = .15) +
geom_smooth(method = "glm", method.args = list(family = "binomial")) +
ggtitle("Regress?o Log?stica") +
xlab("Recursos Pr?prios por Eleitor") +
ylab("A favor da restri??o")
#### Exportar modelo
htmlreg(list(m1, r1), digits = 3, ci.force.level = 0.05,ci.test = 1,file = "Modelo_Reg.doc")
### Avalia??o
load("bd_votos_financiamento_bens.RData")
summary(bd_votos_financiamento_bens)
### Eleito e n?o eleito
table(bd_votos_financiamento_bens$resultado)
bd_votos_financiamento_bens <- bd_votos_financiamento_bens %>%
mutate(eleito = recode(resultado, "eleito" = "1",
"eleito por media" = "1",
"eleito por qp" = "1",
"nao eleito" = "0",
"suplente" = "0",
"renuncia/falecimento/cassacao" = "",
"substituido" = "",
"2? turno" = ""))
table(bd_votos_financiamento_bens$eleito)
### Somente deputado federal
bd_df <- subset(bd_votos_financiamento_bens, c(bd_votos_financiamento_bens$cargo == "deputado federal"))
### Desigualdade do autofinanciamento e seu impacto sobre a desigualdade da disputa
### Vari?veis Recursos
var_cand_NA_2 <- bd_df
var_cand_NA_2 <- var_cand_NA_2 %>% group_by(sigla_uf, ano)
var_cand_NA_2 <- var_cand_NA_2 %>% summarise(sum = sum(VR_RECEITA_sum, na.rm = TRUE),
self_fund = sum(rproprio, na.rm = TRUE),
party_money = sum(doa_partido, na.rm = TRUE),
votos_geral = sum(votos, na.rm = TRUE))
var_cand_NA_2 <- var_cand_NA_2 %>% ungroup()
summary(var_cand_NA_2)
#### Juntar arquivos
data_base_c <- merge(bd_df, var_cand_NA_2, by = c("sigla_uf", "ano"), all.x = TRUE)
### Criar vari?vel - Autofinanciamento proporcional aos demais candidatos no munic?pio
data_base_c$self_fund_c <- ((data_base_c$rproprio)*100)/(data_base_c$sum)
data_base_c$self_fund_c_sf <- ((data_base_c$rproprio)*100)/(data_base_c$self_fund)
summary(data_base_c)
#### Separa??o dos anos
#### Munic?pio
library(hhi)
library(ineq)
data_base_e <- data_base_c
names(data_base_e)
data_base_e$contr <- 1
summary(data_base_e)
####
data_base_e$self_fund_c_sf_2 <- (data_base_e$self_fund_c_sf)/100
data_base_e$self_fund_c_sf_3 <- (data_base_e$self_fund_c_sf_2)*(data_base_e$self_fund_c_sf_2)
data_base_e$sum_c <- (data_base_e$VR_RECEITA_sum)/(data_base_e$sum)
data_base_e$sum_c_HHI <- (data_base_e$sum_c)*(data_base_e$sum_c)
data_base_e$votos_per <- (data_base_e$votos)/(data_base_e$votos_geral)
data_base_e$votos_HHI <- (data_base_e$votos_per)*(data_base_e$votos_per)
data_base_e$sum_c_HHI <- (data_base_e$sum_c)*(data_base_e$sum_c)
data_base_e$auto_f_concentra <- ((data_base_e$rproprio)*100)/(data_base_e$self_fund)
summary(data_base_e$auto_f_concentra)
data_base_e$self_HHI <- (data_base_e$auto_f_concentra)*(data_base_e$auto_f_concentra)
####
data_base_e <- data_base_e %>% group_by(ano, sigla_uf)
data_base_e <- data_base_e %>% summarise(recursos_totais = sum(VR_RECEITA_sum, na.rm = TRUE),
recursos_totais_gini = ineq(VR_RECEITA_sum, type = "Gini", na.rm = TRUE),
recursos_totais_HHI = sum(sum_c_HHI, na.rm = TRUE),
recursos_pessoais = sum(rproprio, na.rm = TRUE),
recursos_pessoais_gini = ineq(rproprio, type = "Gini", na.rm = TRUE),
recursos_pessoais_HHI = sum(self_fund_c_sf_3, na.rm = TRUE),
autofinanciamento_gini = ineq(self_HHI, type = "Gini", na.rm = TRUE),
autofinanciamento_HHI = sum(self_HHI, na.rm = TRUE),
votos = sum(votos_per, na.rm = TRUE),
votos_gini = ineq(votos_per, type = "Gini", na.rm = TRUE),
votos_HHI = sum(votos_HHI, na.rm = TRUE),
candidatos = sum(contr, na.rm = TRUE))
data_base_e <- data_base_e %>% ungroup()
####
summary(data_base_e)
data_base_e$dep_recursos_pessoais <- ((data_base_e$recursos_pessoais)*100)/(data_base_e$recursos_totais)
data_base_e$recursos_totais_HHI_c <- (data_base_e$recursos_totais_HHI)/(data_base_e$candidatos)
data_base_e$recursos_pessoais_HHI_c <- (data_base_e$recursos_pessoais_HHI)/(data_base_e$candidatos)
data_base_e$votos_HHI_c <- (data_base_e$votos_HHI)/(data_base_e$candidatos)
summary(data_base_e)
data_base_e$votos_HHI_n = (data_base_e$votos_HHI_c)/10000
#### Filtrar e testar
e_certo <- data_base_e
summary(data_base_e)
md_z <- lm(votos_HHI_c ~ recursos_pessoais_HHI_c, data = e_certo)
summary(md_z)
md_z2 <- lm(votos_HHI_c ~ recursos_pessoais_HHI_c*as.factor(ano), data = e_certo)
summary(md_z2)
e_certo$ano_22  =
as.factor(if_else(e_certo$ano == 2022, 1, 0))
md_z3 <- lm(votos_HHI_c ~ recursos_pessoais_HHI_c*ano_22, data = e_certo)
summary(md_z3)
md_z4 <- lm(votos_HHI_c ~ recursos_pessoais_HHI_c*ano_22 + recursos_totais_HHI_c + candidatos, data = e_certo)
summary(md_z4)
#### Intera??es
library(interactions)
interact_plot(md_z3, pred = "recursos_pessoais_HHI_c", modx = "ano_22", interval =  TRUE)
interact_plot(md_z4, pred = "recursos_pessoais_HHI_c", modx = "ano_22", interval =  TRUE)
library(texreg)
library(plm)
### Efeitos Fixos
md_z5 <- plm(votos_HHI_c ~ recursos_pessoais_HHI_c*ano_22 + recursos_totais_HHI_c + candidatos,
index = c("sigla_uf"),
model = "within",
data = e_certo)
summary(md_z5)
plot_model(md_z5, show.values = TRUE, show.intercept = TRUE)
### Instrumental
library(AER)
e_certo$antes  =
as.factor(if_else(e_certo$ano < 2022, 1, 0))
summary(e_certo)
md_z6 = ivreg(votos_HHI_c ~ recursos_pessoais_HHI_c | antes, data = e_certo)
summary(md_z6)
summary(md_z6, vcov = sandwich, diagnostics = TRUE)
####
screenreg(list(md_z, md_z3, md_z4, md_z5))
###
htmlreg(list(md_z, md_z3, md_z4, md_z5),
file = "Avalia??o_1.doc",  caption = "Regress?es",
caption.above = TRUE,
digits = 3, ci.force = TRUE)
library(correlation)
library(see)
library(ggplot2)
names(data_base_e)
result <- cor_test(data_base_e, "votos_HHI_c", "recursos_pessoais_HHI_c")
plot(result)
plot(result) + facet_wrap(~ano)
result2 <- cor_test(data_base_e, "votos_HHI_c", "recursos_totais_HHI_c")
plot(result2)
plot(result2) + facet_wrap(~ano)
result3 <- cor_test(data_base_e, "recursos_pessoais_HHI_c", "recursos_totais_HHI_c")
plot(result3)
result4 <- cor_test(data_base_e, "recursos_pessoais_HHI_c", "recursos_totais_HHI_c")
plot(result4) + facet_wrap(~ano)
bens_diff <- data_base_h %>%
group_by(eleito, ano_22) %>%
summarize(mean_bens = mean(VR_bens_sum),
mean_bens_log = mean(log_bens))
bens_diff <- data_base_h %>%
group_by(eleito, ano_22) %>%
summarize(mean_bens = mean(VR_bens_sum),
mean_bens_log = mean(log_bens))
###
names(data_base_e)
bens_diff <- data_base_g %>%
group_by(eleito, ano_22) %>%
summarize(mean_bens = mean(VR_bens_sum),
mean_bens_log = mean(log_bens))
data_base_g <- data_base_f %>% dplyr:: select(ano, ano_22, log_bens, log_rproprios, eleito, VR_bens_sum)
summary(data_base_c)
summary(data_base_c$VR_bens_sum)
data_base_c$log_bens <- log(data_base_c$VR_bens_sum)+1
data_base_c$log_rproprios <- log(data_base_c$rproprio)+1
data_base_c$log_votos <- log(data_base_c$votos)+1
plot(data_base_c$log_bens, data_base_c$log_rproprios)
### Patrim?nio dos eleitos
# Substituir valores -Inf por NA
data_base_c[data_base_c == -Inf] <- NA
### Juntar com características dos candidatos
library(data.table)
cand <- fread("candidatos_dep_federal.csv")
table(cand$ocupacao)
cand <- cand %>%
dplyr::mutate(politico = dplyr::recode(ocupacao, "deputado" = "1",
"senador" = "1",
"prefeito" = "1",
"membros do poder legislativo: senador deputados e vereador" = "1",
"senador deputado e vereador" = "1",
" membros do poder executivo: presidente ministro governador prefeito" = "1"))
table(cand$politico_p)
cand$politico_p  =
as.factor(if_else(cand$politico == 1, 1, 0))
cand$homem  =
as.factor(if_else(cand$genero == "masculino", 1, 0))
cand$ensino_superior  =
as.factor(if_else(cand$instrucao == "ensino superior completo", 1, 0))
summary(cand)
summary(data_base_c)
cand$sequencial_candidato <- cand$sequencial
### Juntar
data_base_f <- merge(data_base_c, cand, by = c("ano", "id_candidato_bd", "cargo"), all.x = TRUE)
summary(data_base_f)
data_base_f$el <- as.factor(data_base_f$ano)
###
me_z1 <- lm(log_rproprios ~ log_bens + log_rproprios, data = data_base_f)
summary(me_z1)
me_z11 <- lm(log_rproprios ~ log_bens + log_rproprios + el, data = data_base_f)
summary(me_z11)
### Impacto do autofinanciamento sobre os votos
me_z2 <- lm(log_votos ~ log_bens + log_rproprios + el, data = data_base_f)
summary(me_z2)
data_base_f$ano_22  =
as.factor(if_else(data_base_f$ano == 2022, 1, 0))
me_z20 <- lm(log_votos ~ log_rproprios*ano_22, data = data_base_f)
summary(me_z20)
me_z21 <- lm(log_votos ~ log_bens*ano_22, data = data_base_f)
summary(me_z21)
me_z22 <- lm(log_votos ~ log_bens*ano_22 + log_rproprios*ano_22, data = data_base_f)
summary(me_z22)
me_z23 <- lm(log_votos ~ log_bens*ano_22 + log_rproprios*ano_22 + homem + ensino_superior + politico_p, data = data_base_f)
summary(me_z23)
summary(data_base_f$sigla_uf.x)
me_z24 <- plm(log_votos ~ log_bens*ano_22 + log_rproprios*ano_22 + homem + ensino_superior + politico_p,
index = c("sigla_uf.x"),
model = "within",
data = data_base_f)
summary(me_z24)
screenreg(list(me_z20, me_z21, me_z22, me_z23, me_z24))
htmlreg(list(me_z20, me_z21, me_z22, me_z23, me_z24),
file = "Avaliacaoo_2.doc",  caption = "Regressões",
caption.above = TRUE,
digits = 3, ci.force = TRUE)
interact_plot(me_z23, pred = "log_rproprios", modx = "ano_22", interval =  TRUE)
### Intrumental
library(AER)
iv1 = ivreg(log_votos ~ log_rproprios | log_bens, data = data_base_f)
summary(iv1)
iv2 = ivreg(log_votos ~ log_rproprios | log_bens + ano_22, data = data_base_f)
summary(iv2)
### Impacto do autofinanciamento sobre a probabilidade de ser eleito
#### Regress?o Log?stica
summary(data_base_f)
summary(data_base_f$eleito)
data_base_f$eleito <- as.factor(data_base_f$eleito)
mg_6 <- glm(eleito ~ log_rproprios, data = data_base_f, family = "binomial")
summary(mg_6)
mg_7 <- glm(eleito ~ log_bens*ano_22 + log_rproprios*ano_22, data = data_base_f, family = "binomial")
mg_8 <- glm(eleito ~ log_bens*ano_22 + log_rproprios*ano_22 + homem + ensino_superior + politico_p, data = data_base_f, family = "binomial")
summary(mg_7)
# Store coefficients in another object
coefs <- coef(mg_7)
# Show the coefficients, just for fun
coefs
exp(coefs)
(exp(coefs)-1)*100
###
screenreg(list(mg_6, mg_7, mg_8))
####
library(ggplot2)
ggplot(data_base_f, aes(x = factor(eleito), y = log_bens)) +
# geom_point(size = 0.5, alpha = 0.2) +
stat_summary(geom = "pointrange", size = 1, color = "red",
fun.data = "mean_se", fun.args = list(mult = 1.96)) +
facet_wrap(~ el)
t.test(log_bens ~ eleito, data = data_base_f)
data_base_g <- data_base_f %>% dplyr:: select(ano, ano_22, log_bens, log_rproprios, eleito, VR_bens_sum)
data_base_h <- na.omit(data_base_g)
plot_data <- data_base_h %>%
mutate(Tratamento = factor(eleito, labels = c("Não", "Sim")),
ano_22 = factor(ano_22, labels = c("2006-2018", "2022"))) %>%
group_by(eleito, ano_22) %>%
summarize(media_bens = mean(log_bens),
dp_bens = sd(log_bens) / sqrt(n()),
upper = media_bens  + (-1.96 * dp_bens ),
lower = media_bens  + (1.96 * dp_bens ))
ggplot(plot_data, aes(x = eleito
, y = media_bens)) +
geom_pointrange(aes(ymin = lower, ymax = upper),
color = "darkgreen", size = 1) +
facet_wrap(~ ano_22)
ggplot(plot_data, aes(x = ano_22, y = media_bens, color = eleito)) +
geom_pointrange(aes(ymin = lower, ymax = upper), size = 1) +
# The group = highearn here makes it so the lines go across categories
geom_line(aes(group = eleito))
